The invention relates generally to a method of managing files stored on a flash memory.
The affordable portable devices (e.g. MP3 players) currently available will not recognize the FAT file system of the flash memory (e.g. SmartMedia). Some of the more expensive devices may support the FAT file system by using more memory and a faster memory controller. Today one cannot simply copy files to a smartmedia and plug it into a portable device or exchange smartmedia cards with friends who have copied MP3 files from their hard drive to the smartmedia cards. One must ensure that preparation and copying of the files to the smartmedia is done using software which is compatible with the proprietary software used on the portable device.
FIG. 1 illustrates a method of using a flash memory attached to a portable device. In order to use a flash memory (e.g. SmartMedia) with a portable device (e.g. MP3 audio player), a user must first ensure 101 that they have a PC which is loaded with proprietary software associated with the portable device. Portable devices are unable to recognize files on a flash memory unless the portable device was loaded with proprietary software associated with the portable device. The user must then access 102 the PC""s proprietary software. Next, the user needs to connect 103 the flash memory associated with the portable device to the PC.
After accessing the proprietary software and connecting the flash memory, using the proprietary software, audio files on the PC (e.g. harddrive) which the user wishes to load to the flash memory may be accessed 104. The files will be processed 105 using the proprietary software. By processing, the files will be organized on the flash memory so that the associated software on the portable device (e.g. MP3 player) using the flash memory (e.g. SmartMedia) will have the ability to read the files (e.g. play a song).
After processing the files, the user will need to use the proprietary software on the PC to load 106 the flash memory with the files (e.g. MP3 audio files) from the PC. The user may then disconnect 107 the flash memory from the PC and reattach it to the portable device. The portable device may now read 108 (e.g. play a song) the files on the flash memory which have been processed and loaded by the PC""s associated proprietary software.
A PC which uses a flash memory (e.g. SmartMedia) might have less difficulty in reading from flash memory or writing to flash memory than a portable device. This is due to the PC""s ability to quickly determine where on the flash memory each file is stored. The CPU simply caches portions (e.g. 2 mb) of the flash memory (e.g. SmartMedia) to system memory (e.g. RAM). The CPU would then map logical and physical addresses to enable the file to be read. A portable device differs in that it does not have the power or ability to perform the caching operation. Furthermore, the PC uses an operating system (e.g. Windows 98) and a device driver to access the flash memory. Portable devices such as MP3 players do not need or have operating systems or expensive RAM. Portable devices need the ability to quickly recognize all of the files on a flash memory. This ability should not be limited to files which were loaded with a specific type of proprietary software. Also, this ability should not require installing additional RAM which can drastically increase the price of the portable device.
According to one aspect of the invention, there is provided a method for accessing data in a memory to be performed. The method includes receiving a request to read a file stored in the memory, the memory having a fragmented array of files across a single partition. The method also includes building a look up table (LUT) for the memory. The method also includes storing the LUT in the processor. The method also includes accessing the LUT in the processor to create an index table which specifies a plurality of addresses for the file. The method further includes storing the index table in the memory.